#ifndef __SW_GAME_STATE_SKATEBOARD_H__
#define __SW_GAME_STATE_SKATEBOARD_H__

//class sw_game_state;

#include <allegro5\allegro.h>
#include <allegro5\allegro_font.h>
#include <allegro5\allegro_ttf.h>

#include "sw_game_state.h"

class sw_game_state_skateboard : public sw_game_state {
	ALLEGRO_FONT* font;

	int radius;
	int penis_y;
	int penis_height;
	int enemy_height;
	int enemy_width;
	int enemy_dx;
	int ground_y;
	double wheelradius;
	double wheelseparation_2;
	double angle_arms;
	double arm_length;

	double grav;
	double penis_mass;
	double head_mass;
	double stick_length;

	double penis_x;
	double theta;
	double penis_dx;
	double dtheta;
	double jetpackforce;

	double enemy_x;
	bool enemy_dir; // true if right
	
	double cur_score;
	double high_score;
	int cur_enemy_score;
	int high_enemy_score;

	bool resting;
	int resting_count;
	
	bool game_over();
	void reset();
public:
	sw_game_state_skateboard();
	~sw_game_state_skateboard();
	void draw_on_screen();
	void compute_timestep();

	void set_game_state_sub(sw_game_state* gs);
};

#endif